<?php
// +----------------------------------------------------------------------
// | API路由 - app
// +----------------------------------------------------------------------
use think\facade\Route;

use app\middleware\{
    // 路由TOKEN认证中间件
    RouteTokenAuthorize,
    // 路由TOKEN解析中间件
    RouteTokenParse
};


Route::group('api/app', function () {

    // 用户登录（手机）
    Route::post('access/login/phone', 'access/loginByPhone');

    // 用户登录（账号）
    Route::post('access/login/account', 'access/loginByAccount');

    // 发送登录短信
    Route::post('access/login/send-sms', 'access/sendAuthSms');

    // 刷新Token
    Route::post('access/refresh-token', 'access/refreshToken');

    // AI聊天
    Route::group('llm', function () {

        // 可用模型列表
        Route::get('models', 'llm/getModels');

        // 提示词生成
        Route::post('chat/generate', 'llm/chatGenerate');

        // 聊天补全
        Route::post('chat/completions', 'llm/chatCompletions');
    });

    // 已登录用户路由
    Route::group(function () {

        // 获取用户信息
        Route::get('access/info', 'access/getUserInfo');
    })->middleware(RouteTokenAuthorize::class);
})->middleware(RouteTokenParse::class)->prefix('app.')->pattern([
    // 路由参数统一验证
    'name' => '.*',
    'id' => '\d+',
    'ids' => '[0-9,()]+',
])->append([
    // 请求类型
    'type' => 'app',
    // 标记为API请求
    'api-request' => true
]);
